/*
 * RunState.h
 *
 *  Created on: 17/01/2011
 *      Author: Nenem
 */

#ifndef RUNSTATE_H_
#define RUNSTATE_H_

#include "State.h"
#include "GameObject.h"

class RunState : public State<GameObject>{
public:
	void Enter(int delta, int time, GameObject *obj, Scenery *, Graphics*);
	void Execute(int delta, int time, GameObject *obj, Scenery *, Graphics*);
	void Exit(int delta, int time, GameObject *obj, Scenery *, Graphics*);
	RunState();
	virtual ~RunState();
	bool tryTalk(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	bool tryHitted(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	bool tryAttack(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	bool tryListen(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	bool tryWalk(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	bool tryIdle(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
	void terrain(int delta, int time, GameObject *obj, Scenery *scenery, Graphics *graphics);
};

#endif /* RUNSTATE_H_ */
